To compute the available height for the layout we're currently using the
panel position, while this works for the current and default setup, the
shell may be configured to use a different workarea, so we should rely on
it to compute the available space, instead of a specific widget.
So get the current monitor index for the current view and use its coordinates
instead.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1892>
const { spacing } = this;
- let startY = 0;
- if (Main.layoutManager.panelBox.y === Main.layoutManager.primaryMonitor.y) {
- startY = Main.layoutManager.panelBox.height;
- box.y1 += startY;
- }
+ const monitor = Main.layoutManager.findMonitorForActor(this._container);
+ const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor.index);
+ const startY = workArea.y - monitor.y;
+ box.y1 += startY;
const [width, height] = box.get_size();
let availableHeight = height;